// [[ OnflowGenerator File UUID: 594ec125d3d24cb2ac9e894f509b11b8  ]]
package com.itdct.onflow.system.menu.mapper;

import com.itdct.onflow.core.mapper.BaseMapper;
import com.itdct.onflow.core.vo.KeyLabelValueVo;
import com.itdct.onflow.system.menu.entity.SysMenuEntity;
import com.itdct.onflow.system.menu.qo.SysMenuSearchQo;
import com.itdct.onflow.system.menu.vo.SysMenuDetailVo;
import com.itdct.onflow.system.menu.vo.SysMenuListVo;

import org.apache.ibatis.annotations.Mapper;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.List;

/**
 * @author DCTANT
 * @date 2025-09-01 14:35:02
 * @version 1.0
 * @description 系统菜单查询工具
 */
@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenuEntity> {
    @Nullable
    SysMenuDetailVo findById(Long id);

    @NotNull
    List<SysMenuListVo> findByList(SysMenuSearchQo qo);

    @NotNull List<SysMenuEntity> getAllMenu(@NotNull String platformType);

    @NotNull List<SysMenuEntity> getRoleMenu(long roleId, @NotNull String platformType);

    // [[ OnflowGenerator Range (- selectFunctions -) Start ]]
    @NotNull
    List<KeyLabelValueVo> selectTitleList(SysMenuSearchQo qo);

    @NotNull
    List<KeyLabelValueVo> selectNameList(SysMenuSearchQo qo);

// [[ OnflowGenerator Range (- selectFunctions -) End ]]

}
